Modern digital networks are made to operate in a multimedia environment and interconnect, upon request, a very large number of users and applications through fairly complex digital communication networks.
Represented in FIG. 1 is an example showing the complexity of presently operating networks. Represented is a backbone network (100), e.g., an Asynchronous Transfer Mode (ATM) network, with multiple end users attached to said network. Some users are directly attached to the ATM network. Others are attached to the ATM network via an access network (102). As represented in FIG. 1, the system does operate in a multimedia environment by having to transport pure data as well as video and audio information, the latter being provided by PBX or CX (103) attached telephone user's, as well as being provided by base stations (104) relaying voice data provided by mobile telephone stations MS1, MS2, . . . (e.g., GSM terminals), via so-called Mobile Switch Centers (MSC) (105).
Accordingly, due to the variety of users' profiles and distributed applications, the corresponding traffic is becoming more and more bandwidth consuming, non-deterministic and requiring more connectivity. This has been the driver for the emergence of fast packet switching network architectures in which data, voice and video information are digitally encoded, chopped into fixed (in ATM mode of operation) or variable length (in so-called PTM mode of operation) packets (also named "cells in ATM networks), which packets are then transmitted through a common set of nodes (106, 107, . . . , 113) and links also named trunks, interconnecting said nodes to constitute the network communication facilities as represented in FIG. 1.
An efficient transport of mixed traffic streams on very high speed lines (herein also designated as links or trunks), means for these new network architectures, a set of requirements in terms of performance and resource consumption including a very high throughput and a very short packet processing time, a very large flexibility to support a wide range of connectivity options, an efficient flow and congestion control, congestion being a state in which the network performance degrades due to saturation of network resources such as communication links bandwidth, and processor cycles or memory buffers located within the nodes.
One of the key requirements for high speed packet switching networks is to reduce the end to end delay in order to satisfy real time delivery constraints when required and to achieve the necessary high nodal throughput for the transport of voice and video. Increases in link speeds have not been matched by proportionate increases in the processing speeds of communication nodes. The fundamental challenge for high speed networks is to minimize the processing time and to take full advantage of the high speed/low error rate technologies. Most of the transport and control functions provided by the new high bandwidth network architectures are performed on an end to end basis. Congestion must however be and actually is, challenged throughout the network by being monitored and controlled in the very network nodes.
One basic advantage of packet switching techniques (as opposed to so-called circuit switching techniques) is to allow statistical multiplexing of the different types of data over a same line which optimizes the transmission bandwidth. The drawback, however, is that packet switching introduces delays and jitters which might be detrimental for transmission of isochronous data, like video or voice. This is why methods have been proposed to control the network in such a way that delays and jitters are bounded for every new connection that is set-up across the packet switching network.
Methods for handling congestion have been described, for instance in a European Application published with number 0000706297 (Method for operating traffic congestion control in a data communication network and system for implementing said method). Said methods include, for any source end user also attached to the network, and requesting its data to be vehiculated over the network, establishing a path and setting a connection through the network high speed lines (links or trunks) and nodes, via an entry node port of said network, with optimal use of the available transmission bandwidth of the network down to indicated destination.
Obviously, due for instance to the very nature of any given source of traffic, a discrimination has to be made among the various traffic natures by assigning these, different specific priorities. In other words, qualities of service (QoS) are specified in terms of maximum delay (T.sub.-- max) and packet loss probability (P.sub.-- loss) upon a source terminal requesting being connected to a destination terminal via the network (i.e. at call set-up time) and based on the nature of the traffic provided by said involved source.
To that end, the QoS and traffic characteristics (e.g. peak rate, mean rate, average packet length) specified and agreed upon by both parties (source owner and network management) are used to compute the amount of bandwidth, i.e. equivalent capacity (Ceq) of the connection, to be reserved on every line on the route or path assigned to the traffic between source terminal and destination terminal, in order to guarantee a packet loss probability which is smaller than the loss probability (P.sub.-- loss) that has been specified for the connection. But, in operation, the fluctuating network traffic must be controlled dynamically which means that some packets shall be dropped within the network if this is required to avoid network congestion due to traffic jamming. While conversely additional bandwidth should be assignable to predefined connections as soon as bandwidth is freed.
In practice, it is common to reserve bandwidth for high priority packets (e.g. so-called Real Time (RT) traffic), derived from committed QoS traffic, which packets are transmitted in preference to lower priority packets derived from discardable traffic (e.g. Non Real Time (NRT) traffic or more particularly Non Reserved (NR) traffic). But still, for RT traffic, the largest the QoS, the better the quality of received voice or video information at the receiving end. Accordingly the traffic should be managed to dynamically take advantage of any bandwidth becoming available during network operation. This bandwidth can vary widely depending on the actual activity of the traffic sources. It is therefore of considerable importance to manage the traffic so as to optimize the use of the widely varying left-over bandwidth in the network while avoiding any congestion which would reduce network throughput. This obviously requires providing the network (and eventually also the sources) with congestion detection and flow control facilities. Several flow control mechanisms do exist. These mechanisms are implemented in the so-called network nodes.
As already known in the art of digital communication, and disclosed in several European Applications (e.g. Publication Number 0000719065 and Application Number 95480182.5) each network node basically includes input and output adapters interconnected via a so-called node switch. Each adapter includes series of buffers or shift registers where the node transiting packets are stored. Traffic monitoring is generally operated via preassigned buffer threshold(s) helping monitoring shift register queues, as shall be described with reference to following figures.
FIG. 2 represents a switching node made according to the art. It includes so-called receive adapters (20) which provide interfaces to the input lines (trunks) numbered 1 through N, and so-called transmit adapters (22) providing output interfacing means to the switching node output lines/trunks numbered 1 through N. In practice however receive and transmit adapters might be combined into a single adapter device and be implemented within a same program controlled processor unit. A switching fabric (24) (also herein referred to as "switch") in charge of the communications between input and output adapter means, is also provided.
The switching fabric includes input router means for scanning the receive adapters and feeding output address queues through a shared memory . A control section is also provided to control the operation of both the shared memory and the output address queues.
As shown in FIG. 2, the incoming packet is stored in a switch input queue (SIQ) (25) located in the receive adapter (20) which SIQ is served at a switch rate, via a routing device (26). We assume here that the switch is an Asynchronous Transfer Mode (ATM) switch, capable of switching ATM and variable length packets. The packet routing header contains one bit to indicate whether a packet is an ATM packet or a variable length packet. Whenever a packet is of variable length type, it is segmented by the receive switch interface RSI into ATM cells upon servicing by the switch input queue SIQ. Then the cells obtained by the segmentation are switched to the transmit adapter where they are finally reassembled into the original packet by the transmit switch interface XSI. Of course, ATM cells are switched natively.
At the transmit adapter of a preferred embodiment of this invention, the packet is enqueued in one of three possible queues, according to its priority. As already mentioned, possible traffic priorities are defined as real-time (RT), non-real-time (NRT), or non-reserved (NR). Typically, the highest priority class (RT) is used to transport voice or video signals, the second class (NRT) is used to transport interactive data, and the third class (NR) is used for file transfer. The real-time RT may itself include traffics of different priority levels (RT1, RT2, etc . . . ). Upon request from the transmit line, a scheduler (27) serves the transmit adapters queues. This means that, at every request for a new packet, the scheduler (27) first looks at the real-time queue and eventually serves a real-time packet. If this queue is empty, then the scheduler (27) looks at the non-real-time queue and eventually serves a non-real-time packet. The non-reserved queue is served only when both real-time and non-real-time queues are empty.
From a cost efficiency standpoint, the network bandwidth occupation should be optimized, but due to the random nature of any network traffic this goal is far from being easy to achieve. As already mentioned, a number of systems are available in the field which help monitoring the traffic and dynamically modulating bandwidth assignment under network operating conditions. In other words, should any congesting conditions be detected along any network path (connection), several mechanisms have been developed not only to identify the perturbing connection, but also to solve the congestion problem by selecting data packets to be simply dropped. This has been achieved by discriminating between so-called committed traffic whose delivery is guaranteed and so-called discardable traffic and by tagging these traffics accordingly to help selecting packets droppable in network nodes as required.
Non discardable packets are tagged as "green" tagged packets while discardables ones are said "red" tagged packets. Tagging is performed by using one specified bit of each packet header. In other words, excess traffic may be allowed to enter the network as long as this traffic may be identified throughout the followed network path and dropped if necessary.
At first glance, the above traffic regulating system should not raise, from technical standpoint, too many problems when applied to Non-Real-Time (NRT) or Non Reserved (NR) Traffic. But this is not the case with Real Time (RT) traffic, like video or voice (speech) originating traffic. Packets of NRT and NR traffics may be retransmitted when they have been dropped within the network as long as a convenient mechanism is provided within the network to identify lost packets, which is actually the case in most networks. But, such a solution is inoperable over real-time traffic, for obvious reasons. This explains why real-time traffic has been assigned the highest priority. However, due to the exploding requirements for supporting real-time traffic like video or voice/speech increasing traffic, while providing the transport services with highest possible quality of coded voice signal, the problem has been raised and a number of solutions looked for. One of these is based on so-called multirate coding of voice signals.
Obviously, the above architectured networks are already adapted to multirate operation over source users' data. This would be particularly convenient for voice sources, which even though they have been assigned the highest priority, may still benefit from the network organization as is.
While the QoS was negotiated for voice traffic, it was still limited to ensure cost efficiency of the network operation. Additional bandwidth may be assigned to voice connections in order to improve decoded speech quality, where said bandwidth becomes available, as long as said additional bandwidth might be suppressed, at random, in case of congestion without disturbing the voice coding operations.
Accordingly, knowing how exploding is the present demand for voice traffic over digital networks (including Internet) one shall appreciate the value of efficient voice/speech coders enabling good multirate operation over presently available high speed packet switching networks. The highest rate would then be admitted by the network, as long as one could switch, at random, to the lower rate during network congestion.
Some multirate coders are already available as disclosed for instance in U.S. Pat. Nos. 4,912,763 or 4,589,130. Such coders provide a packetized data frame, organized to enable varying the transmission rate by simply dropping portions of said frame. This coder may thus be used within a packet switching network. But the frame splitting within network nodes would be rather complex to control, from a software standpoint.
This solution would then not be suitable on cost efficiency basis. Other known multirate coding schemes would simply not support random switching from one rate to another in any network node.